package com.bone.product.service.impl;

import java.util.Date;
import java.util.List;
import java.util.Map;

import com.bone.page.Page;
import com.bone.product.dao.ProductMetaDAO;
import com.bone.product.dao.ProductProdDAO;
import com.bone.product.po.ProductMeta;
import com.bone.product.po.ProductProd;
import com.bone.product.service.ProductService;

/*
 * @author 李文战 tel:13795263658 
 * @version   创建时间：2012-12-26 下午10:53:23
 */

public class ProductServiceImpl implements ProductService{
	
	
	private ProductProdDAO productProdDAO;
	
	private ProductMetaDAO productMetaDAO;
	 
	/**
	 * 取符合查询条件的ProductProd数据记录个数.
	 * @param para
	 * @return
	 */
	public Long queryProductProdCountByParam(Map<String, Object> para){
		return productProdDAO.queryProductProdCountByParam(para);
	}
	/**
	 * 取符合查询条件的ProductProd数据记录数据.
	 * @param para
	 * @return
	 */
	public List<ProductProd> queryProductProdPageByParam(Map<String, Object> para){
		return productProdDAO.queryProductProdPageByParam(para);
	}
	
	/**
	 * product根据产品ID取产品的信息.
	 * @param para
	 * @return
	 */
	public  ProductProd queryProductProdById(final Long productId){
		return productProdDAO.queryProductById(productId);
	}
	
 //----------------------------------------------------------------------------------------	
	 

	/**
	 * 取符合查询条件的ProductMeta数据记录个数.
	 * @param para
	 * @return
	 */
	public Long queryProductMetaCountByParam(Map<String, Object> para){
		return productMetaDAO.queryProductMetaCountByParam(para);
	}
	/**
	 * 取符合查询条件的ProductMeta数据记录数据.
	 * @param para
	 * @return
	 */
	@SuppressWarnings("unchecked")
	public List<ProductMeta> queryProductMetaPageByParam(Map<String, Object> para){
		return productMetaDAO.queryProductMetaPageByParam(para);
	}
	
	
	/**
     * 保存或者修改产品.	
     * @param module
     * @return
     */
	public boolean saveOrUpdateProductMeta(ProductMeta productMeta){
		boolean isSuccess = false;
		if(productMeta.getMetaId()!=null && productMeta.getMetaId() > 0){
			productMetaDAO.updateProductMeta(productMeta);
			isSuccess = true;
		}else{
			productMeta.setCreateTime(new Date());
			productMetaDAO.insertProductMeta(productMeta);
			isSuccess = true;
		}
		return isSuccess;
	} 
	
	/**
	 * ProductMeta根据产品ID取产品的信息.
	 * @param para
	 * @return
	 */
	public  ProductMeta queryProductMetaById(final Long metaId){
		return productMetaDAO.queryProductMetaById(metaId);
	}
   
   

	public ProductProdDAO getProductProdDAO() {
		return productProdDAO;
	}
	public void setProductProdDAO(ProductProdDAO productProdDAO) {
		this.productProdDAO = productProdDAO;
	}
	public ProductMetaDAO getProductMetaDAO() {
		return productMetaDAO;
	}
	public void setProductMetaDAO(ProductMetaDAO productMetaDAO) {
		this.productMetaDAO = productMetaDAO;
	}

}
